package com.micro.frog.rbac.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.micro.frog.rbac.entity.UserRoleDO;
import com.micro.frog.rbac.vo.RoleUserVO;

import java.util.List;

/**
 * @author :  ljh
 * @date : 2018/4/12
 **/
public interface UserRoleService extends IService<UserRoleDO> {

    /**
     * 查询角色关联用户
     *
     * @param roleId 角色ID
     * @return 列表
     */
    List<RoleUserVO> queryUserByRoleId(Long roleId);

    /**
     * 关联用户角色
     *
     * @param roleId  角色ID
     * @param userIds 用户ID
     */
    void addUserRole(Long roleId, List<Long> userIds);

    /**
     * 更新关联角色用户
     *
     * @param roleId  角色ID
     * @param userIds 用户ID
     */
    void updateRoleUsers(Long roleId, String userIds);

    /**
     * 用户角色【不分页】
     *
     * @param userRole 用户角色
     * @return 列表
     */
    List<UserRoleDO> queryList(UserRoleDO userRole);

    /**
     * 添加
     *
     * @param userRole 用户角色
     * @return 结果
     */
    boolean add(UserRoleDO userRole);

    /**
     * 删除
     *
     * @param id 主键
     * @return 结果
     */
    boolean delete(Long id);

    /**
     * 修改
     *
     * @param userRole 用户角色
     * @return 结果
     */
    boolean update(UserRoleDO userRole);
}
